<!DOCTYPE html>
<html class="x-admin-sm">
    
    <head>
        <meta charset="UTF-8">
        <title>欢迎页面-X-admin2.2</title>
        <meta name="renderer" content="webkit">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
        <link rel="stylesheet" href="./css/font.css">
        <link rel="stylesheet" href="./css/xadmin.css">
        <script src="./lib/layui/layui.js" charset="utf-8"></script>
        <script type="text/javascript" src="./js/xadmin.js"></script>
        <!--[if lt IE 9]>
          <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
          <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
        <![endif]-->
    </head>
    
    <body>
        <div class="x-nav">
            <span class="layui-breadcrumb">
                <a href="">首页</a>
                <a href="">演示</a>
                <a>
                    <cite>导航元素</cite></a>
            </span>
    <a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" onclick="location.reload()" title="刷新">
        <i class="layui-icon layui-icon-refresh" style="line-height:30px"></i>
    </a>
</div>
<div class="layui-fluid">
    <div class="layui-row layui-col-space15">
        <div class="layui-col-md12">
            <div class="layui-card">
                <div class="layui-card-body ">
                    <form class="layui-form layui-col-space5">

                        <div class="layui-inline layui-show-xs-block">
                            <input type="text" name="username" placeholder="请输入用户名" id="username" autocomplete="off" class="layui-input">
                        </div>
                        <div class="layui-inline layui-show-xs-block">
                            <button class="layui-btn" lay-submit="" lay-filter="sreach">
                                <i class="layui-icon">搜索&#xe615;</i></button>
                        </div>
                    </form>
                </div>
                <div class="layui-card-body ">
                    <table class="layui-table" id="test" lay-filter="idTest" lay-data="{toolbar: '#toolbarUser',id:'Test'}"></table>
                </div>
            </div>
        </div>
    </div>
</div>
<script type="text/html" id="barDemo" lay-data="">
    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail" title="查看" href="javascript:;">查看</a>
    <a class="layui-btn layui-btn-xs" lay-event="edit" title="编辑" href="javascript:;">编辑</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"title="删除"  href="javascript:;">删除</a>
</script>
</body>
<script type="text/html" id="toolbarUser">
    <div class = "layui-btn-container" >
        <button class="layui-btn" onclick="xadmin.open('添加用户','./member-add1.html',600,400)">
            <i class="layui-icon"></i>添加
        </button>
    </div>
</script>
<!--    <script type="text/html" id="switchTpl">-->
<!--        &lt;!&ndash;  这里的checked的状态只是演示 &ndash;&gt;-->
<!--        <input type = "checkbox" name = "sex" value = "{{d.id}}" lay-skin = "switch" lay-text = "女|男" lay-filter = "sexDemo" {{ d.id == 10003 ? 'checked': ''}} >-->
<!--    </script>-->

    <script>
        layui.use(['form','table','laydate'], function() {
            var table = layui.table;
            var laydate = layui.laydate;
            var form=layui.form;
            //执行一个laydate实例
            laydate.render({
                elem: '#start' //指定元素
            });
            //执行一个laydate实例
            laydate.render({
                elem: '#end' //指定元素
            });
            //展现用户
            table.render({
                elem: '#test'
                ,url:'/user/findUserByPage'
                ,toolbar: true
                ,toolbar:'#toolbarUser'
                ,title: '用户数据表'
                ,cols: [[
                    {checkbox: true, fixed: true}
                    ,{field:'id', title:'ID', width:60, fixed: 'left', unresize: true, sort: true, totalRowText: '合计行'}
                    ,{field:'username', title:'用户名', width:80}
                    ,{field:'password', title:'用户密码', width:180}
                    ,{field:'phone', title:'电话号码', width:105,sort: true, totalRow: true}
                    ,{field:'status', title:'用户状态', templet:"#statusTpl", width:100, sort: true}
                    ,{field:'createdTime', title:'创建日期', width:180, sort: true,templet : '<div>{{ formatTime(d.createdTime,"yyyy-MM-dd hh:mm:ss")}}</div>' , totalRow: true}
                    ,{field:'modifiedTime', title:'更新日期', width:180,sort: true,templet : '<div>{{ formatTime(d.modifiedTime,"yyyy-MM-dd hh:mm:ss")}}</div>' , totalRow: true}
                    ,{fixed: 'right', width:260, align:'center', toolbar: '#barDemo'}
                ]]
                ,page: true
                ,response: {
                    statusName: 'code' //规定数据状态的字段名称，默认：code
                    ,statusCode: 200 //规定成功的状态码，默认：0
                    ,msgName: 'msg' //规定状态信息的字段名称，默认：msg
                    ,countName: 'count' //规定数据总数的字段名称，默认：count
                    ,dataName: 'data' //规定数据列表的字段名称，默认：data
                }

            });
            //改变用户状态
            form.on('switch(statusSwitch)',function (data){
                var status = this.checked ? 1 : 0;
                var id = this.value;
                $.ajax({
                    url: '/user/updateUserStatusById',
                    type: 'get',
                    data:{
                        status:status,
                        id:id
                    },
                    success : function (data){

                            layer.msg("更新状态成功！",{icon:5});

                    }
                });
            });
            //监听工具条
            table.on('tool(idTest)', function(data){//注：tool是工具条事件名，test是table原始容器的属性 lay-filter="对应的值"
                if(data.event === 'detail'){
                    selectUser('查看用户信息','member-edit2.html',data.data,600,400);
                    layer.msg('ID：'+ data.data['id'] + ' 的查看操作');

                } else if(data.event === 'del'){
                    debugger
                    var data = data.data//获得当前行数据
                    var id=data['id'];  //获取属性uid的值
                    layer.alert("確定删除？",{
                        icon: $.ajax({
                            url:'/user/delete',
                            data:data.field,
                            data:{id:id},
                            success:function(data){
                                data.set(id);
                                debugger
                                data.del();
                                layer.msg("删除成功！");
                            }
                        })
                    });
                    layer.confirm('真的删除行么', function(index){
                        location.href=`member-list1.html`;
                        layer.close(index);
                    });
                } else if(data.event === 'edit'){
                    updateUser('修改用户信息','member-edit1.html',data.data,600,400);
                    // layer.alert('编辑行：<br>'+ JSON.stringify(data.data));


                }
            });
            // 监听单元格编辑
            table.on('edit(test)', function(data) {
                var value = data.value //得到修改后的值
                , data = data.data //得到所在行所有键值
                , field = data.field; //得到字段
                layer.msg('[ID: ' + data.id + '] ' + field + ' 字段更改为：' + value);
            });
            //监听表格复选框选择
            table.on('checkbox(idTest)', function(data){
                debugger
                console.log(data)
            });
            //头工具栏事件
            var $ = layui.$, active = {
                getCheckData: function(){ //获取选中数据
                    var checkStatus = table.checkStatus('Test')
                        ,data = checkStatus.data;
                    layer.alert(JSON.stringify(data));
                }
                ,getCheckLength: function(){ //获取选中数目
                    var checkStatus = table.checkStatus('Test')
                        ,data = checkStatus.data;
                    layer.msg('选中了：'+ data.length + ' 个');
                }
                ,isAll: function(){ //验证是否全选
                    var checkStatus = table.checkStatus('Test');
                    layer.msg(checkStatus.isAll ? '全选': '未全选')
                }
            };

            $('.demoTable .layui-btn').on('click', function(){
                var type = $(this).data('type');
                active[type] ? active[type].call(this) : '';
            });
        });
        /*用户-删除*/
        function member_del(obj,id){
            layer.confirm('确认要删除吗？',function(index){
                //发异步删除数据
                $(obj).parents("tr").remove();
                layer.msg('已删除!',{icon: 1,time:1000})

            });
        }
        function delAll (argument) {
            debugger
            var ids = [];
            // 获取选中的id
            $('tbody input').each(function(index, el) {
                if($(this).prop('checked')){
                    ids.push($(this).val())
                }
            });
            layer.confirm('确认要删除吗？'+ids.toString(),function(index){
                //捉到所有被选中的，发异步进行删除
                layer.msg('删除成功', {icon: 1});
                $(".layui-form-checked").not('.header').parents('tr').remove();
            });
        }
        /*用户-停用*/
        function member_stop(data,id){
            layer.confirm('确认要停用吗？',function(index){

                if($(data).attr('title')=='启用'){

                    //发异步把用户状态进行更改
                    $(data).attr('title','停用')
                    $(data).find('i').html('&#xe62f;');

                    $(data).parents("tr").find(".td-status").find('span').addClass('layui-btn-disabled').html('禁用');
                    layer.msg('禁用!',{icon: 5,time:1000});

                }else{
                    $(data).attr('title','启用')
                    $(data).find('i').html('&#xe601;');

                    $(data).parents("tr").find(".td-status").find('span').removeClass('layui-btn-disabled').html('已启用');
                    layer.msg('已启用!',{icon: 5,time:1000});
                }

            });
        }
        /*用户信息修改*/
        function updateUser(title, url, data, w, h){
            if (title == null || title == '') {
                title = false;
            }
            ;
            if (url == null || url == '') {
                url = "404.html";
            }
            ;
            if (w == null || w == '') {
                w = 800;
            }
            ;
            if (h == null || h == '') {
                h = ($(window).height() - 50);
            }
            ;
            layer.open({
                type:2,
                area: [w + 'px', h + 'px'],
                fix:false,
                btn: ['确认', '取消'],//弹出层按钮
                maxmin: true,
                shadeClose: true,
                shade: 0.4,
                title: '修改信息',
                offset: '50px',
                content: url,
                id:"fromId",
                success: function (layero,index){
                    var body = layer.getChildFrame('body',index);
                    result = JSON.stringify(data);
                    result = $.parseJSON(result);
                    $.each(result, function (item) {
                        debugger
                        body.find("fromId").val(result[item]);//给弹出层页面赋值，id为对应弹出层表单id
                        if (item == 'id') {
                            body.find('#L_id').val(result[item]);//这里是为动态select赋值，在弹出层创建隐藏元素
                        } else if (item == 'username') {
                            body.find('#L_username').val(result[item]);
                        } else if (item == 'password') {
                            body.find('#L_password').val(result[item]);
                        }
                    });
                }

            });
        }
        /*查看用户信息*/
        function selectUser(title, url, data, w, h){
            if (title == null || title == '') {
                title = false;
            }
            ;
            if (url == null || url == '') {
                url = "404.html";
            }
            ;
            if (w == null || w == '') {
                w = 800;
            }
            ;
            if (h == null || h == '') {
                h = ($(window).height() - 50);
            }
            ;
            layer.open({
                type:2,
                area: [w + 'px', h + 'px'],
                fix:false,
                btn: ['确认', '取消'],//弹出层按钮
                maxmin: true,
                shadeClose: true,
                shade: 0.4,
                title: '查看信息',
                offset: '50px',
                content: url,
                id:"fromId",
                success: function (layero,index){
                    var body = layer.getChildFrame('body',index);
                    result = JSON.stringify(data);
                    result = $.parseJSON(result);
                    $.each(result, function (item) {
                        debugger
                        body.find("fromId").val(result[item]);//给弹出层页面赋值，id为对应弹出层表单id
                        if (item == 'id') {
                            body.find('#L_id').val(result[item]);//这里是为动态select赋值，在弹出层创建隐藏元素
                        } else if (item == 'username') {
                            body.find('#L_username').val(result[item]);
                        } else if (item == 'password') {
                            body.find('#L_password').val(result[item]);
                        } else if (item == 'phone'){
                            body.find(('#L_phone')).val(result[item]);
                        }else if (item == 'status'){
                            body.find(('#L_status')).val(result[item]);
                        }
                    });
                }

        });
    }
    /*根据用户名查询用户信息*/
    var $ = layui.$, active = {
        reload: function(){
            var demoReload = $('#demoReload');

            //执行重载
            table.reload('testReload', {
                page: {
                    curr: 1 //重新从第 1 页开始
                }
                ,where: {
                    key: {
                        id: demoReload.val()
                    }
                }
            }, 'data');
        }
    };

        // 格式化时间
        function formatTime(datetime, fmt) {
            if (datetime == null || datetime == 0) {
                return "";
            }
            if (parseInt(datetime) == datetime) {
                if (datetime.length == 10) {
                    datetime = parseInt(datetime) * 1000;
                } else if (datetime.length == 13) {
                    datetime = parseInt(datetime);
                }
            }
            datetime = new Date(datetime);
            var o = {
                "M+" : datetime.getMonth() + 1, // 月份
                "d+" : datetime.getDate(), // 日
                "h+" : datetime.getHours(), // 小时
                "m+" : datetime.getMinutes(), // 分
                "s+" : datetime.getSeconds(), // 秒
                "q+" : Math.floor((datetime.getMonth() + 3) / 3), // 季度
                "S" : datetime.getMilliseconds()
                // 毫秒
            };
            if (/(y+)/.test(fmt))
                fmt = fmt.replace(RegExp.$1, (datetime.getFullYear() + "")
                    .substr(4 - RegExp.$1.length));
            for ( var k in o)
                if (new RegExp("(" + k + ")").test(fmt))
                    fmt = fmt.replace(RegExp.$1,
                        (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k])
                            .substr(("" + o[k]).length)));
            return fmt;
        }

</script>
<script type="text/html" id="statusTpl">
    <input type = "checkbox" name = "status" value = "{{d.id}}" lay-skin = "switch" lay-text = "启用|禁用" lay-filter = "statusSwitch" {{ d.status == 1 ? 'checked' : '' }} >
</script>

</html>